home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr28
/
blts992.zip
/
INDIRECT.TXT
< prev
next >
Wrap
Text File
|
1993-03-01
|
8KB
|
196 lines
Indirect Files
Indirect files allow you to have access to a file without explicitly
referencing its directory or changing your PATH statement. An indirect file
is linked to another file on a network drive. Any operation on the indirect
file is actually made on the file to which it points.
For example, suppose you have a file you reference often, such as a data or
an include file. We ll use the file ORIGINAL.BAT which resides in the root
directory of the server HOST1 as an example. The physical path of this file
is as follows:
C:\ORIGINAL.BAT
The network resource name for the C: drive is C-DRIVE. The network path of
this file is as follows:
\\HOST1\C-DRIVE\ORIGINAL.BAT
With this information, you can set up an indirect file in another directory
to point to ORIGINAL.BAT
1. Make sure the network resource where you will create the indirect file
has the indirect file (I) access right enabled. For information on
setting ACL rights refer to "Shared Resources" in this manual.
2. Log in to the server and redirect one of your drives to the network
resource C-DRIVE on HOST1. You can perform these functions through
either the NET program or by NET command line.
3. Change to the directory where you would like to place the indirect file. In
this example UTIL:
CD UTIL
4. Create the indirect file using the syntax:
NET INDIRECT PATHNAME ACTUAL-NAME
where PATHNAME represents the name of the indirect file you would like
to create and ACTUAL-NAME represents the name of the file to link with
the indirect file. We'll name the indirect file INDIRECT.BAT:
NET INDIRECT INDIRECT.BAT \C-DRIVE\ORIGINAL.BAT
Here we've specified the absolute path to the file INDIRECT.BAT will
reference. You can also give the relative path to ORIGINAL.BAT:
NET INDIRECT INDIRECT.BAT ..\ORIGINAL.BAT
If you use the DIR command for the subdirectory, you will see the indirect
file INDIRECT.BAT listed with the other files there.
You will notice that the date and month of the indirect file cannot
possibly exist. Indirect files will have this date and time to help
distinguish them from regular DOS files. The NET DIR command will also
help distinguish indirect files. Note that the NET DIR command shows
the I in the file attributes display as well as the name of the file to which INDIRECT.BAT points.
You may now access ORIGINAL.BAT from the UTIL subdirectory. If you
want to see the contents of ORIGINAL.BAT simply issue a TYPE command
for INDIRECT.BAT:
Type INDIRECT.BAT
Since INDIRECT.BAT is a batch file, you can execute it by typing:
INDIRECT
The result would be the same as if you had typed:
..\ORIGINAL
or
C:\ORIGINAL
You can also link other indirect files to INDIRECT.BAT, and have access
to ORIGINAL.BAT from any other subdirectory. For example, you could
link the file IND2.BAT in the APPS subdirectory to INDIRECT.BAT. To do
this:
1. Change to the APPS subdirectory.
2. Type the command:
NET INDIRECT IND2.BAT \C-DRIVE\UTIL\INDIRECT.BAT
A directory of the APPS directory would now include the indirect file
IND2.BAT. Any requests to IND2.BAT would actually be performed on
ORIGINAL.BAT.
Note: The DELETE, RENAME and SET ATTRIBUTE functions are always performed
on the indirect file, not the file to which it points.
LINKING INDIRECT FILES TO DIRECTORIES
You can also create indirect files to reference directories. That way
you can have access to a entire directory of files without having to
change your PATH statement or specifically reference that subdirectory.
This is useful if you have a directory of files you use often. Follow
the steps given previously, except this time link the indirect file to a directory. For example:
NET INDIRECT INDIRECT.DIR \C-DRIVE\MACROS
If you have the proper ACL rights for the directory MACROS you will be
able to utilize any of the files within the directory, by referencing
them through INDIRECT.DIR. If you wanted to run the file TEST.EXE in
MACROS you could type:
INDIRECT.DIR\TEST
This would be the same as typing:
C:\MACROS\TEST
FILE LEVEL SECURITY
One advantage of indirect files is that you can set access to a specific
file without having to give that type of access to the entire directory.
For example, if you give L (Look up) access to a network directory PROT
(Short for PROTected), but want to be able read and write to the file
ORIGINAL.DOC while in that directory, you can do the following:
Place ORIGINAL.DOC in another network resource such as READWRIT and allow
read and write access for that resource.
Using the steps described earlier, create an indirect file such as
INDIRECT.DOC in PROT linked to \READWRIT\ORIGINAL.DOC.
All of the files in the PROT directory would only have L look up access,
but you would be able to read and write to ORIGINAL.DOC through
INDIRECT.DOC.
Conversely, you can allow users access to PROT, but if they do not have
the R and W access to READWRIT, they cannot read or write to ORIGINAL.DOC.
Note: Some text editors read data from a file and then write over the
previous copy when you save the file. These functions can result in the
text editor reading the data from the original file, then writing the
new version to the indirect file when you save it. When this occurs,
you no longer have an indirect file, but simply an updated copy of the
original file.
THE NET EXPAND COMMAND
When using indirect files, you can utilize the NET EXPAND to keep track
of which file will finally be accessed. This is especially useful if
you have multiple layers of indirect files. The NET EXPAND command,
will also help you find the physical or network path of the indirect
file. You can use the NET EXPAND command four ways: first, you can
use the command with no switches:
NET EXPAND IND2.BAT
Using the example created earlier, you would see this output:
\\HOST1\C-DRIVE\APPS\IND2.BAT
This output tells you where the file exists relative to the network.
In this case the file is located on the server HOST1, on the resource
C-DRIVE in the subdirectory APPS. If you use the Recurse (/R) switch
for IND2.BAT:
NET EXPAND/R IND2.BAT
you will see this output:
\\HOST1\C-DRIVE\ORIGINAL.BAT
This switch instructs the NET program to recursively search through all
the levels of indirect files until it arrives at the final file
referenced. Once again, the information given is relative to the files
location on the redirected drive. To find the actual physical location
of IND2.BAT on the server, you would use the Physical (/P) switch:
NET EXPAND/P IND2.BAT
You would see the output:
C:\APPS\IND2.BAT
To find out the physical location of the file to which IND2.BAT finally
resolves, you would use both the Recurse and Physical switches:
NET EXPAND/P/R IND2.BAT
You will see the output:
C:\ORIGINAL.BAT.
the physical location of the file to which IND2.BAT finally resolves.